#ifndef SCENEMANAGER_H
#define SCENEMANAGER_H

#include <list>
#include "Scene.h"
#include "Ptr.h"

class SceneManager {
private:
	static Ptr<Scene> currentScene;
	static std::list<Ptr<Scene> > sceneQueue;

private:
	SceneManager();

public:
	static void enqueue(Ptr<Scene> scene);
	static void push(Ptr<Scene> scene);
	static Ptr<Scene> pop();
	static void cleanUp();
	static void run();
};

#endif // SCENEMANAGER_H
